From: Rui Matos Date: Fri, 24 May 2013 18:59:40 +0000 (+0200) Subject: messageTray: Check if the clicked summary item has a right click menu X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4109 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=51bca083864f5bc88ed6221e6f3e49ceaede24ad;p=gnome-shell.git messageTray: Check if the clicked summary item has a right click menu Commit e71129aa6879b62a04d2fc3b43ff25edd6611987 introduced the possibility of having summary items without a right click menu so we should check for one before trying to show it. https://bugzilla.gnome.org/show_bug.cgi?id=700190 --- diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index b17053b1e..efba34b08 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -2241,10 +2241,15 @@ const MessageTray = new Lang.Class({ let canShowSummaryBoxPointer = this._trayState == State.SHOWN; // We only have sources with empty notification stacks for legacy tray icons. Currently, we never attempt // to show notifications for legacy tray icons, but this would be necessary if we did. - let requestedNotificationStackIsEmpty = (this._clickedSummaryItemMouseButton == 1 && this._clickedSummaryItem.source.notifications.length == 0); - let wrongSummaryNotificationStack = (this._clickedSummaryItemMouseButton == 1 && + let requestedNotificationStackIsEmpty = (haveClickedSummaryItem && + this._clickedSummaryItemMouseButton == 1 && + this._clickedSummaryItem.source.notifications.length == 0); + let wrongSummaryNotificationStack = (haveClickedSummaryItem && + this._clickedSummaryItemMouseButton == 1 && this._summaryBoxPointer.bin.child != this._clickedSummaryItem.notificationStackWidget); - let wrongSummaryRightClickMenu = (this._clickedSummaryItemMouseButton == 3 && + let wrongSummaryRightClickMenu = (haveClickedSummaryItem && + this._clickedSummaryItemMouseButton == 3 && + this._clickedSummaryItem.rightClickMenu != null && this._summaryBoxPointer.bin.child != this._clickedSummaryItem.rightClickMenu); let wrongSummaryBoxPointer = (haveClickedSummaryItem && (wrongSummaryNotificationStack || wrongSummaryRightClickMenu));